<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>from</title>

  <script>

    /**
     * Array.from(arrayLike,[mapFn],[thisArg]) 方法对一个类似数组或可迭代对象创建一个新的，浅拷贝的数组实例。
     * arrayLike 想要转换成数组的伪数组对象或可迭代对象。
     * mapFn 如果指定了该参数，新数组中的每个元素会执行该回调函数。
     * 返回值：一个新的数组实例。
     */

    /** 
     * from可以通过以下方式来创建数组对象
     * 伪数组对象（拥有一个 length 属性和若干索引属性的任意对象）
     * 可迭代对象（可以获取对象中的元素，如 Map 和 Set 等）
     */

    // 将一个字符串转为数组
    const str = 'hello today very beautiful';

    const array = Array.from(str);
    console.log(array);
    // ['h', 'e', 'l', 'l', 'o', ' ', 't', 'o', 'd', 'a', 'y', ' ', 'v', 'e', 'r', 'y', ' ', 'b', 'e', 'a', 'u', 't', 'i', 'f', 'u', 'l']

    // from() 的 length 属性为 1
    console.log(Array.from.length === 1); // true

  </script>
</head>

<body>

</body>

</html>